A storage array or disk array is a data storage system that includes multiple magnetic hard disk drives or similar persistent storage units. A storage array can allow large amounts of data to be stored in an efficient manner. The disk drives of the array are often contained in slots on one or more midplanes or backplanes. A server is typically connected to the midplane or backplane via a host bus adapter (HBA). Each midplane or backplane typically includes a controller that communicates with the server via cables and connectors that connect the midplane or backplane to the HBA. Several different interfaces are used for this purpose, including, for example, the Serial Attached Small Computer Systems Interface (SAS) interface and the Serial Advanced Technology Attachment (SATA) interface. The midplane or backplane is sometimes equipped with a port expander that allows the number of disk drives that are incorporated into the array to be increased. If an expander is used, the expander is connected to the HBA of the server and to the backplane or midplane.
In order to provide an operator of the data storage system with information about the presence of disk drives in the slots and the status of the disk drives, enclosure management (EM) data is typically communicated between the HBA and the expander and between the expander and the backplane or midplane. Two protocols that are widely used to communicate EM data are the Serial General Purpose Input/Output (SGPIO) protocol and the inter-integrated circuit (I2C) protocol. Proprietary protocols are also used for this purpose. The EM data is used to generate drive signals that drive light-emitting diodes (LEDs). The states of the LEDs visually indicate status information about the respective disk drives, such as presence in the slot, activity, failure, and rebuild status.
Many multi-port devices, such as SAS expanders, typically have one or two SGPIO ports for outputting one or two SGPIO bit streams, respectively, to one or two backplanes or midplanes, respectively. Each SGPIO bit stream contains enclosure management bits associated with the disk drives that are in the slots of the respective backplane or midplane. No more than one or two SGPIO ports are provided on the SAS expander due to limitations on the pin count of the expander. Consequently, no more than one or two SGPIO bit streams can be output from the SAS expander to the midplane or backplane. This limits the number of backplanes or midplanes that can be supported by the expander with respect to SGPIO enclosure management data.
Likewise, in cases where the expander is not supported and the I2C protocol is used instead, a single I2C enclosure management bit stream is provided from the expander to the backplane or midplane. This limits the number of backplanes or midplanes that can be supported by the expander or other device with respect to I2C enclosure management data.
A need exists for a way to increase the number of enclosure management bit streams that can be provided to backplanes or midplanes without requiring an increase in the number of ports, and thus the number of pins, that are available on an expander or other device that interfaces with the backplane or midplane.